package lexer;

public enum TokenType {
    // 标识符和常量
    IDENTIFIER, NUMBER, STRING,

    // 运算符
    PLUS, MINUS, MULTIPLY, DIVIDE, MOD,           // 算术运算符: +, -, *, /, %
    EQ, NE, GT, GE, LT, LE,                       // 关系运算符: =, !=, >, >=, <, <=
    AND, OR, NOT,                                 // 逻辑运算符: AND, OR, NOT

    // 赋值运算符
    ASSIGN,                                       // :=

    // 分隔符
    LPAREN, RPAREN, COMMA, SEMICOLON,             // (, ), ,, ;

    // 关键字
    IF, THEN, ELSE, ENDIF,                        // 条件语句
    FOR, TO, STEP, DO, ENDFOR,                    // 循环语句
    WHILE, DOO, ENDWHILE,                          // 循环语句
    BREAK, CONTINUE,                              // 循环控制

    // 其他
    EOF, ERROR
}